﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;

namespace Universe.SimpleQueue.Tests
{
    [TestFixture]
    public class Stress_SQLServer_With_SERIALIZABLE_Isolated_Transactions : StressDefinitions
    {
        protected override Func<SimpleQueue.IConnectionInfo> ConnectionFactory
        {
            get { return Env.SqlServer_With_Serializable_Isolated_Transaction; }
        }
    }

    [TestFixture]
    public class Stress_SQLServer_With_READ_COMMITTED_Isolated_Transactions : StressDefinitions
    {
        protected override Func<SimpleQueue.IConnectionInfo> ConnectionFactory
        {
            get { return Env.SqlServer_With_ReadCommitted_Isolated_Transaction; }
        }
    }

    [TestFixture]
    public class Stress_SQLServer_With_REPEATABLE_READ_Isolated_Transactions : StressDefinitions
    {
        protected override Func<SimpleQueue.IConnectionInfo> ConnectionFactory
        {
            get { return Env.SqlServer_With_RepeatableRead_Isolated_Transaction; }
        }
    }

    [TestFixture]
    public class Stress_SQLServer_Without_Transaction_Managment : StressDefinitions
    {
        protected override Func<SimpleQueue.IConnectionInfo> ConnectionFactory
        {
            get { return Env.SqlServer_With_ReadCommitted_Isolated_Transaction; }
        }
    }

    [TestFixture]
    public class Stress_SQLCE_Storage_Explicit_ReadCommitted_Isolated_Transactions : StressDefinitions
    {
        protected override Func<SimpleQueue.IConnectionInfo> ConnectionFactory
        {
            get { return Env.SQLCE_With_Explicit_ReadCommitted_Isolatated_Transactions; }
        }
    }

    [TestFixture]
    public class Stress_SQLCE_Storage_Explicit_Serializable_Isolated_Transactions : StressDefinitions
    {
        protected override Func<SimpleQueue.IConnectionInfo> ConnectionFactory
        {
            get { return Env.SQLCE_With_Explicit_Serializable_Isolatated_Transactions; }
        }
    }

    [TestFixture]
    public class Stress_SQLCE_Without_Transaction_Managment : StressDefinitions
    {
        protected override Func<SimpleQueue.IConnectionInfo> ConnectionFactory
        {
            get { return Env.ConnectionCE; }
        }
    }
}
